The multi-antenna digital communications systems that are commonly referred to as multiple-input multiple-output (MIMO) systems cover all systems having a plurality of antennas on transmission and generally a plurality of antennas on reception. A MIMO system with a single receive antenna is also known as a multiple-input single-output (MISO) system.
These systems satisfy the ever-increasing demand for a variety of telecommunications services at rates that are ever greater than existing offers. It has been proved that the capacity of MIMO channels increases in proportion to the minimum number of transmit and receive antennas.
An example of such a system is shown in the diagram of FIG. 1. The system comprises a base station with NT transmit antennas (Tx) and K mobile stations (mobiles) with NRk receive antennas (Rx) for user k associated with mobile k. The transmission channel for user k is modeled by a matrix Hk of size NRk×NT that represents the impact of the transmission channel between the transmit antennas and the receive antennas. Each component of the matrix is a random variable of zero mean and of variance that is considered to be equal to 1.
The disclosure lies in the context of one channel per user with slow Rayleigh fading and total independence between the various channels of the various users. The context of one channel per user with slow Rayleigh fading and total independence between the various channels of the various users typically corresponds to propagation in urban surroundings, i.e. with multiple paths.
The disclosure lies in a context of “broadcasting”, in the information theory meaning, i.e. in a context of transmitting different streams for different users from a transmitter. In addition, the transmitter has perfect knowledge of the transmission channel. This implies a perfect estimate of all of the components of the matrices Hk for all of the users, since the channel is a broadcast channel and the transmission channel does not vary between the moment when the channel is estimated on reception and the moment when said estimate is used on transmission.
In a multi-stream multi-user MIMO system, the streams of the various users are transmitted simultaneously from the base station to the receivers of the users, knowing that a plurality of streams may be transmitted to a single user at any given instant, but that at some other given instant the same user may receive only one stream or no stream at all.
The maximum number of streams per user is Qk=min(NRk,NT) and the total number of streams that can be transmitted simultaneously by the MIMO system at any instant cannot exceed the maximum number Q of streams that can be served by the system:
  Q  =      min    ⁡          (                                    ∑                          k              =              1                        K                    ⁢                      N                          R              k                                      ,                  N          T                    )      
In a multi-user MIMO (MU-MIMO) system, precoders constitute a basic building block defining the performance of the communications system. Precoders serve to separate the streams of the various users in order to minimize inter-user interference on reception and consequently improve the data rate conveyed. The performance of such a system is determined by the quantity of data streams that it can serve to the various users, with this being referred to as the sum rate (SR).
The maximum total data rate SR that can be conveyed by a MIMO system to all of the users is defined in information theory as the “ergodic” capacity of the system.
Optimizing the sum rate is based on combined optimization of the transmitter and of the receiver in order to find the combination that minimizes mean square error (MSE). It is not sufficient to concentrate on optimizing the precoder while ignoring what happens on reception, and vice versa, optimizing the receiver on its own is not sufficient for extracting the maximum SR. Furthermore, in a MIMO system with multiple receive antennas, a plurality of data streams can be transmitted to a single user. This increases the difficulty of determining the best way of allocating the streams to the users and the respective powers to allocate to them.
Known techniques for multi-user MIMO systems are based on criteria such as minimum mean square error (MMSE) and signal to leakage-and-noise ratio (SLNR) that enable the system to be optimized.
Theoretical work has shown that the capacity of a MU-MIMO broadcast channel can be achieved with the help of a so-called “dirty paper coding” (DPC) [3, 4] algorithm. Nevertheless, in spite of great advantage in computers, DPC precoding remains an algorithm that is very difficult to put into place because of the computation power required.
Thus, sub-optimal solutions of linear precoders with little complexity have been used.
A first category of linear precoders implements so-called “non-iterative linear” algorithms that are also known as direct or closed form (CF) algorithms, e.g. as described in [1, 6, 7]. For each stream, those algorithms determine a pair of vectors: a transmit vector and a receive vector. The vector pairs relating to all of the users are calculated by the base station. The base station informs the users about their receive vectors, typically by using a signaling channel. The base station transmits the information of each stream while using the corresponding transmit vector. All of the streams are transmitted simultaneously. On reception, each receiver associated with a user makes use of the receive vector that has been communicated thereto by the base station in order to combine the signals received over the various antennas and in order to extract the samples corresponding to the user's stream.
A second category of linear precoders implements iterative algorithms, certain implementations of which are described in [2, 5, 8].
[8] describes an iterative precoder based on a weighted minimum mean square error (WMMSE). By considering a matrix W of weights for the various streams of all of the users (in other words W={W1, . . . , WK}) and the set of receivers D=diag{D1, . . . , DK} used by the various users, the corresponding WMMSE precoder is given by:
                    T        =                              diag            ⁢                          {                                                T                  1                                ,                …                ⁢                                                                  ,                                  T                  K                                            }                                =                                                    β                ⁡                                  (                                                                                    H                        H                                            ⁢                                              D                        H                                            ⁢                      W                      ⁢                                                                                          ⁢                      D                      ⁢                                                                                          ⁢                      H                                        +                                                                                            tr                          ⁢                                                                                                          ⁢                                                      (                                                          W                              ⁢                                                                                                                          ⁢                              D                              ⁢                                                                                                                          ⁢                                                              D                                H                                                                                      )                                                                                                    P                          T                                                                    ⁢                                              I                                                  N                          T                                                                                                      )                                                            -                1                                      ⁢                          H              H                        ⁢                          D              H                        ⁢            W                                              (        1.1        )            
Thus the precoder corresponding to user k is given by:
      T    k    =                    β        ⁡                  (                                                    ∑                                  j                  =                  1                                K                            ⁢                                                H                  j                  H                                ⁢                                  D                  j                  H                                ⁢                                  W                  j                                ⁢                                  D                  j                                ⁢                                  H                  j                                                      +                                          1                                  P                  T                                            ⁢              tr              ⁢                                                          ⁢                              (                                                      W                    j                                    ⁢                                      D                    j                                    ⁢                                      D                    j                    H                                                  )                            ⁢                              I                                  N                  T                                                              )                            -        1              ⁢          H      k      H        ⁢          D      k      H        ⁢          W      k      where β is a scalar factor in order to satisfy the power constraint:
            ∑              j        =        1            K        ⁢          tr      ⁡              (                              T            i                    ⁢                      T            i            H                          )              =      P    T  
That precoder depends on the weights W allocated to the various streams and on the decoders Dk, kε{1, . . . , K} for the users, which means that it is necessary to use an iterative method in order to optimize them.
Optimization therefore requires the receivers to be defined. Among the various types of receiver in existence, [8] proposes a minimum mean square error (MMSE) receiver. The analytic expression for the MMSE is as follows:
                              D          k                =                              T            k            H                    ⁢                                                    H                k                H                            ⁡                              (                                                                            H                      k                                        ⁢                                          T                      k                                        ⁢                                          T                      k                      H                                        ⁢                                          H                      k                      H                                                        +                                      I                                          N                                              R                        k                                                                              +                                                            ∑                                                                        i                          =                          1                                                ,                                                  i                          ≠                          k                                                                    K                                        ⁢                                                                  H                        k                                            ⁢                                              T                        i                                            ⁢                                              T                        i                        H                                            ⁢                                              H                        k                        H                                                                                            )                                                    -              1                                                          (        1.3        )            
Thereafter, it is necessary to define the weights to be given to each of the streams. This distribution must be inversely proportional to the MSE. It is determined by equation (1.4) as being the inverse of the MSE error matrix calculated for each user:
                              W          k                =                  (                                    I              k                        +                                          T                k                H                            ⁢                                                                    H                    k                    H                                    ⁡                                      (                                                                  I                                                  N                                                      R                            k                                                                                              +                                                                        ∑                                                                                    i                              =                              1                                                        ,                                                          i                              ≠                              k                                                                                K                                                ⁢                                                                              H                            k                                                    ⁢                                                      T                            i                                                    ⁢                                                      T                            i                            H                                                    ⁢                                                      H                            k                            H                                                                                                                )                                                                    -                  1                                            ⁢                              H                k                            ⁢                              T                k                                              )                                    (        1.4        )            
The method described in [8] is as follows:
1. Initialize the precoders Tk, kε{1, . . . , K}.
2. Use equation (1.3) to calculate the MMSE decoders corresponding to the precoders Tk for each user.
3. Calculate a new distribution of weights minimizing the MSE given by equation (1.4).
4. Recalculate the new precoders in application of equation (1.1).
5. Repeat steps 2 to 4 to convergence.
In order to analyze the performance of the system as obtained in this way, reliance is placed on the value of the sum rate of the system which is the sum of the SRs offered to the various users:
                    SR        =                              ∑                          k              =              1                        K                    ⁢                                    log              2                        ⁡                          (                              I                +                                                                            H                      k                                        ⁢                                          T                      k                                        ⁢                                          T                      k                      H                                        ⁢                                          H                      k                      H                                                                                                  Γ                      k                                        +                                                                  N                        0                                            ⁢                      I                                                                                  )                                                          (        1.5        )            In which the term:
      Γ    k    =            H      k        ⁢                  ∑                              j            =            1                    ,                      j            ≠            k                          K            ⁢                        T          j                ⁢                  T          j          H                ⁢                  H          k          H                    represents the interference generated by the other users and picked up by the user k.
This method presents saturation with a high signal-to-noise ratio (SNR) with the slope of the curve varying as shown in FIGS. 5a-5c. This problem of saturation is in addition to a problem of convergence that is known for simple iterative solutions.
Equation (1.1) for calculating the precoder is a direct function of the decoders used by the various users. As a result, the decoders that are selected have a direct impact on the performance of the system obtained using [8], but there does not exist a decoder that makes it possible to obtain improvements for all SNRs.
One solution consists in applying a plurality of algorithms with different decoders and selecting the best, but that has the drawback of hugely increasing complexity and consumption of computation resources, while still not guaranteeing that the best performance will be obtained.